[codex] Extract CLI support target#846
Conversation
Code Review — [codex] Extract CLI support targetOverviewThis PR carves a pure What's Good
Issues / Suggestions1. // Package.swift
.library(
name: "KeyPathCLISupport",
targets: ["KeyPathCLISupport"]
),Adding it to 2. No dedicated test target for The two symbols moved (
Since the module builds in 1.33s, a 3. Minor: return "1.0.0" // fallback when no bundle foundThis is existing behavior carried over from ValidationThe PR ran:
Coverage looks appropriate for the change size. VerdictApprove with minor suggestions. The extraction is clean, the import changes are correct, and the validation is solid. The library-product question and missing tests for the new module are worth addressing — either now or as follow-on — but neither is a blocker. |
4c7f176 to
daaa5cb
Compare
Code ReviewOverviewClean, well-scoped extraction PR. It creates a pure What works well
Suggestions1. No test target for 2. 3. Filename rename Potential risksNone beyond the expected: VerdictApprove. The changes are correct, minimal, and consistent with the incremental extraction strategy documented in |
daaa5cb to
a64a309
Compare
Code ReviewOverviewThis PR creates a new What works well
Issues / SuggestionsMinor: return "1.0.0" // fallback when no bundle foundThis is pre-existing, but now that it lives in its own module it's more visible. If neither standard install path is found (e.g., during testing or a non-standard install), the version silently reports Minor: No tests for the new module The module is simple ( Observation: .library(name: "KeyPathCLISupport", targets: ["KeyPathCLISupport"]),This exposes it as a public product consumable by external packages. If it's only ever meant to be an internal module, the Import changes verificationThe import swaps look correct:
SummaryApprove with minor notes. Clean, minimal, well-validated. The two minor issues (fallback version string, no tests for new module) are pre-existing or low-urgency. The |
Summary
KeyPathCLISupporttargetCLIVersionandprintErrout ofKeyPathAppKitinto the new support targetKeyPathCLIto the new support target and document this as the first CLI/AppKit extraction checkpointWhy
This is the first small boundary move after the CLI/AppKit audit. It does not make the CLI lane build-isolated yet because
KeyPathCLIstill depends onKeyPathAppKit, but it creates the non-AppKit module where pure CLI support/result types can move next.Validation
git rev-list --left-right --count origin/master...HEAD->0 1swift build --target KeyPathCLISupport-> passed in 1.33sswift build --product keypath-cli-> passed in 85.79s warm; still AppKit-heavy as expected./Scripts/test-lane.sh cli-> passed 341 tests, build=131s, test=3s, total=135s, zero Swift warnings, zero app warnings, zero app errorsgit diff --checkswift build